package com.tulele.vtool.service.impl;

import com.tulele.vtool.mapper.UserRelateArticleTypeInfoMapper;
import com.tulele.vtool.model.UserRelateArticleTypeInfo;
import com.tulele.vtool.service.IUserRelateArticleTypeInfoService;
import com.tulele.vtool.utils.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserRelateArticleTypeInfoServiceImpl implements IUserRelateArticleTypeInfoService {

    @Autowired
    private UserRelateArticleTypeInfoMapper userRelateArticleTypeInfoMapper;

    @Override
    public UserRelateArticleTypeInfo getUserRelateArticleTypeInfo(Integer userId) {
        return userRelateArticleTypeInfoMapper.queryUserRelateArticleTypeInfo(userId);
    }

    @Override
    public int recordUserRelateArticleTypeInfo(Integer userId, String articleTypeIds) {

        //查询是否已经存在用户的订阅记录，存在，则更新，否则添加
        UserRelateArticleTypeInfo userRelateArticleTypeInfoInDB = userRelateArticleTypeInfoMapper.queryUserSubArticleTypeInfo(userId);

        if (userRelateArticleTypeInfoInDB != null && userRelateArticleTypeInfoInDB.getId() != null) {

            UserRelateArticleTypeInfo updUserRelateArticleTypeInfo = new UserRelateArticleTypeInfo();
            updUserRelateArticleTypeInfo.setId(userRelateArticleTypeInfoInDB.getId());
            updUserRelateArticleTypeInfo.setArticleTypeIds(articleTypeIds);
            updUserRelateArticleTypeInfo.setRelateTypeStatus(1);
            updUserRelateArticleTypeInfo.setModifyTime(DateUtil.getCurDate());

            userRelateArticleTypeInfoMapper.updUserRelateArticleTypeInfo(updUserRelateArticleTypeInfo);
        } else {

            UserRelateArticleTypeInfo addUserRelateArticleTypeInfo = new UserRelateArticleTypeInfo();
            addUserRelateArticleTypeInfo.setUserId(userId);
            addUserRelateArticleTypeInfo.setArticleTypeIds(articleTypeIds);
            addUserRelateArticleTypeInfo.setRelateTypeStatus(1);
            addUserRelateArticleTypeInfo.setCreateTime(DateUtil.getCurDate());

            userRelateArticleTypeInfoMapper.addUserRelateArticleTypeInfo(addUserRelateArticleTypeInfo);
        }

        return 0;
    }
}
